Protein Folding Simulation in Concurrent Constraint Programming

نویسندگان

  • Luca Bortolussi
  • Alessandro Dal Palù
  • Agostino Dovier
  • Federico Fogolari
چکیده

CCP program 1 simulation(S):2 Init=[[I1|_], [I2|_], ..., [In|_]], 3 run(1,S,Init) || 4 run(2,S,Init) || 5 ... || 6 run(n,S,Init). 7 run(ID, S, [P1, P2, ..., Pn]):8 getTails([P1, ..., Pn],[T1, ..., Tn]), 9 ask(T1=[_|_]) -> skip + 10 ask(T2=[_|_]) -> skip + 11 ... + 12 ask(Tn=[_|_]) -> skip, 13 getLast([P1, ..., Pn],[L1, ..., Ln]), 14 updatePosition(ID,S,[L1,..,Ln],NP), 15 tell(TID=[NP|_]), 16 run(ID,S,[P1, ..., Pn]). • The main clause is simulation. • Init is a variable containing n lists which contain the initial positions Ii. • n concurrent calls to run are called, one for each process aminoacid. L. Bortolussi, A. Dal Palù, A. Dovier, and F. Fogolari BIOCONCUR 2004 — 10/20 Abstract CCP program 1 simulation(S):2 Init=[[I1|_], [I2|_], ..., [In|_]], 3 run(1,S,Init) || 4 run(2,S,Init) || 5 ... || 6 run(n,S,Init). 7 run(ID, S, [P1, P2, ..., Pn]):8 getTails([P1, ..., Pn],[T1, ..., Tn]), 9 ask(T1=[_|_]) -> skip + 10 ask(T2=[_|_]) -> skip + 11 ... + 12 ask(Tn=[_|_]) -> skip, 13 getLast([P1, ..., Pn],[L1, ..., Ln]), 14 updatePosition(ID,S,[L1,..,Ln],NP), 15 tell(TID=[NP|_]), 16 run(ID,S,[P1, ..., Pn]).CCP program 1 simulation(S):2 Init=[[I1|_], [I2|_], ..., [In|_]], 3 run(1,S,Init) || 4 run(2,S,Init) || 5 ... || 6 run(n,S,Init). 7 run(ID, S, [P1, P2, ..., Pn]):8 getTails([P1, ..., Pn],[T1, ..., Tn]), 9 ask(T1=[_|_]) -> skip + 10 ask(T2=[_|_]) -> skip + 11 ... + 12 ask(Tn=[_|_]) -> skip, 13 getLast([P1, ..., Pn],[L1, ..., Ln]), 14 updatePosition(ID,S,[L1,..,Ln],NP), 15 tell(TID=[NP|_]), 16 run(ID,S,[P1, ..., Pn]). • ID is the identification code of the aminoacid. • getTails gets the tails of the lists P1,...,Pn and assigns them to the variables T1,...,Tn. • Then the process waits for one of these variables to be instantiated with ask(Ti=[_|_]) -> skip. L. Bortolussi, A. Dal Palù, A. Dovier, and F. Fogolari BIOCONCUR 2004 — 11/20 Abstract CCP programCCP program 1 simulation(S):2 Init=[[I1|_], [I2|_], ..., [In|_]], 3 run(1,S,Init) || 4 run(2,S,Init) || 5 ... || 6 run(n,S,Init). 7 run(ID, S, [P1, P2, ..., Pn]):8 getTails([P1, ..., Pn],[T1, ..., Tn]), 9 ask(T1=[_|_]) -> skip + 10 ask(T2=[_|_]) -> skip + 11 ... + 12 ask(Tn=[_|_]) -> skip, 13 getLast([P1, ..., Pn],[L1, ..., Ln]), 14 updatePosition(ID,S,[L1,..,Ln],NP), 15 tell(TID=[NP|_]), 16 run(ID,S,[P1, ..., Pn]). • Once this happens it retrieves the last information with getLast. • Then it updates its position with updatePosition and communicates its move to all other processes by means of tell. • Finally the run procedure is called recursively. L. Bortolussi, A. Dal Palù, A. Dovier, and F. Fogolari BIOCONCUR 2004 — 12/20 Movement Strategy The procedure updatePosition works in the following way: • The aminoacid randomly chooses a new position, close to the current one within a given step; • Using the most recent information available about the spatial position of other processes, it computes the energy relative to the choice; • It accepts the position using a Montecarlo criterion: If the new energy is lower than the current one, it accepts the move; If the new energy is greater than the current one, it accepts the move with probability e Enew−Ecurrent T . • This procedure depends on the spatial model adopted. L. Bortolussi, A. Dal Palù, A. Dovier, and F. Fogolari BIOCONCUR 2004 — 13/20

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Two constraint-based tools for protein folding

Introduction. A protein is a list of linked units called aminoacids. There are 20 different kinds of aminoacids and the typical length of a protein is less than 500 units. The Protein Structure Prediction Problem (PSP) is the problem of predicting the 3D native conformation of a protein, when its aminoacid sequence is known. The process for reaching this state is called the protein folding. It ...

متن کامل

Protein Folding Simulation in CCP

A protein is identified by a finite sequence of aminoacids, each of them chosen from a set of 20 elements. The Protein Structure Prediction Problem is the problem of predicting the 3D native conformation of a protein, when its sequence of aminoacids is known. This problem is fundamental for biological and pharmaceutical research. Due to intrinsic computational limits, no general solution is ava...

متن کامل

Protein Structure Prediction

Protein structure prediction from sequence remains a premiere computational problem for modern molecular biology. The papers in this session address ab initio folding simulations and theoretical studies, the use of known structures as a basis for prediction, and analysis of how and what we know (or don't) about those known structures. The \thermodynamic hypothesis" asserts that proteins fold to...

متن کامل

Using constraint programming for lattice protein folding

We present a global search technique for finding the global minimal conformation of a sequence in Dill's HP-lattice model. The HP-lattice model is a simplified model of proteins, that has become a major tool for investigating general properties of protein folding. The search technique uses constraint programming for efficiently pruning the search tree. We state the problem of structure predicti...

متن کامل

A Constraint-Based Framework for Prototyping Distributed Virtual Applications

This paper describes the architecture and implementation of a constraint-based framework for rapid prototyping of distributed applications such as virtual simulations, collaborations and games. Our framework integrates three components based on (concurrent) constraint programming ideas: (1) Hybrid cc, a (concurrent) constraint modeling language for hybrid systems, (2) Sisl, a (discrete) timed c...

متن کامل

Hybrid cc with Interval Constraints

Hybrid cc is a constraint programming language suitable for modeling, controlling and simulating hybrid systems, i.e. systems with continuous and discrete state changes. The language extends the concurrent constraint programming framework with default reasoning and combinators for programming continuous behavior. The most important constraint systems used in Hybrid cc are nonlinear equations an...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004